home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PCGUIA 117
/
PC Guia 117.iso
/
Software
/
Utils
/
Software6
/
Product17
/
mouse_gestures-1.0-fx+mz+tb.xpi
/
install.js
next >
Wrap
Text File
|
2004-10-07
|
7KB
|
202 lines
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is the Linky
*
* The Initial Developer of the Original Code is Henrik Gemal.
* Portions created by the Initial Developer are Copyright (C) 2002-2003
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Henrik Gemal <linky@gemal.dk> http://gemal.dk
* Jens Bannmann <jens.b@web.de>
* Jochen <autohide@krickelkrackel.de>
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
// product related settings
// you can change these
const myProductName = "Mouse Gestures";
const myProductRegKey = "/mozdev/mozgest";
// ---- stuff for packaging script --------------------------
// the packaging script (linux) is here: http://goto_scriptxy
// never change the following line!
const myProductRegVersion = "1.0";
// ----------------------------------------------------------
const myJarFileName = "mozgest.jar";
const myJarCheckDupe = 1; // check if myJarFileName exist both in personal chrome folder and global chrome folder
// global settings
// dont change these
const sysChromeGlobal = getFolder("Chrome");
const sysChromeGlobalJar = getFolder("Chrome", myJarFileName);
const sysChromeUser = getFolder("Current User","chrome");
const sysChromeUserJar = getFolder("Current User", "chrome/" + myJarFileName);
function getMessage(key) {
var msg = new String(Texts[key]);
msg = new String(msg.replace(/%PRODUCT%/g, Texts.product));
msg = new String(msg.replace(/%VERSION%/g, myProductRegVersion));
return msg;
}
var err;
var err_tmp;
// init the installation
err_tmp = initInstall(myProductName, myProductRegKey, myProductRegVersion);
if (err_tmp) {
err = err_tmp;
}
var doInstall = true;
var installToProfile;
var Texts = loadResources("install/install.properties");
var msg;
if (err) {
logComment("Problem with initInstall(). Error code: " + err);
} else if (myJarCheckDupe && File.exists(sysChromeGlobalJar) && File.exists(sysChromeUserJar)) {
var msg = getMessage("doubleinstall");
msg = new String(msg.replace(/%PROFILE%/, sysChromeUserJar));
msg = new String(msg.replace(/%GLOBAL%/, sysChromeGlobalJar));
alert(msg);
doInstall = false;
} else {
// Can we install in the personal profile folder?
if (buildID && buildID >= 2003030700) {
if (File.exists(sysChromeGlobalJar) || File.exists(sysChromeUserJar)) {
installToProfile = File.exists(sysChromeUserJar);
msg = getMessage("existinglocation", false, false);
msg = msg.replace(/%LOCATION%/, (installToProfile ? Texts.profilechrome
: Texts.globalchrome));
if (confirm(msg) == 0) { // 0 = Cancel, 1 = OK
doInstall = false;
}
} else {
msg = getMessage("chooselocation");
installToProfile = (confirm(msg) == 0); // 0 = Cancel, 1 = OK
}
} else {
installToProfile = false;
}
}
// did the user cancel, or did an error occur?
if (!doInstall || err) {
cancelInstall();
} else {
logComment(myProductName + " version " + myProductRegVersion + " being installed on " + buildID);
logComment("Installing " + (installToProfile ? "to profile" : "globally"));
// add the jar file
if (!err) {
err_tmp = addFile(myProductName, "chrome/" + myJarFileName,
(installToProfile ? sysChromeUser : sysChromeGlobal),
"");
if (err_tmp) {
logComment("Problem adding jar file. Error code: " + err_tmp);
err = err_tmp;
} else {
logComment("ok adding jar file.");
}
}
// register the content
if (!err) {
if (installToProfile) {
err_tmp = registerChrome(CONTENT | PROFILE_CHROME, sysChromeUserJar, "content/");
} else {
err_tmp = registerChrome(CONTENT | DELAYED_CHROME, sysChromeGlobalJar, "content/");
}
if (err_tmp) {
logComment("Problem registering the content chrome. Error code: " + err_tmp);
err = err_tmp;
} else {
logComment("ok registering the content chrome.");
}
}
// register the locale
if (!err) {
if (installToProfile) {
err_tmp = registerChrome(LOCALE | PROFILE_CHROME, sysChromeUserJar, "locale/en-US/mozgest/");
} else {
err_tmp = registerChrome(LOCALE | DELAYED_CHROME, sysChromeGlobalJar, "locale/en-US/mozgest/");
}
if (err_tmp) {
logComment("Problem registering the locale chrome. Error code: " + err_tmp);
err = err_tmp;
} else {
logComment("ok registering the locale chrome.");
}
}
// register the skin
if (!err) {
if (installToProfile) {
err_tmp = registerChrome(SKIN | PROFILE_CHROME, sysChromeUserJar, "skin/classic/mozgest/");
} else {
err_tmp = registerChrome(SKIN | DELAYED_CHROME, sysChromeGlobalJar, "skin/classic/mozgest/");
}
if (err_tmp) {
logComment("Problem registering the skin chrome. Error code: " + err_tmp);
err = err_tmp;
} else {
logComment("ok registering the skin chrome.");
}
}
// do the install
if (!err) {
err_tmp = performInstall();
if (err_tmp < 0) {
logComment("Problem performing install. Error code: " + err_tmp);
err = err_tmp;
} else {
alert(getMessage("success"));
}
}
// did it work?
if (err) {
if (err == -202) {
if (!File.exists(sysChromeGlobalJar)) {
logComment("Problem installing. Error code: " + err +" Ask user for profile install");
alert(getMessage("suggestprofileinstall"));
} else {
logComment("Problem installing. Error code: " + err +" Tell user the truth");
alert(getMessage("noglobalinstall"));
}
} else {
logComment("Problem installing. Error code: " + err + ". Error codes can been seen at: " + Texts.errorlist);
var msg = getMessage("failure");
msg = msg.replace(/%LINK%/, Texts.errorlist);
alert(msg);
}
cancelInstall(err);
}
}